#include<stdio.h>
// 插入排序
int insert_sort(int a[],int len){
    int i,j;
    //len-1趟排序 a[1]-a[len]中的数据
    for(i=2;i<=len;i++){
        a[0]=a[i]; // 保存当前待插入的数据到a[0]中
        j=i-1;     // 当前待插入的数据之前都已经排好序
        // 从后往前依次比较，寻找插入的位置。
        while(a[0]<a[j]) {
            a[j+1] = a[j]; //数据依次后移

            j = j-1;
        }
        a[j+1] = a[0]; //插入数据
    }
    return 1;
}

int main(){
    int dat[20] = {0,54,36,21,54,89,
        414,64,8,32,15,3,78,
        15,6,2,156,8,5,58};
    insert_sort(dat,20);
    for (int i = 1; i < 20; ++i){
        printf("%d ",dat[i] );
    }
    return 0;
}
